home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / oper_sys / emerald / emrldsys.lha / Language / Compiler / builtins.h < prev    next >
C/C++ Source or Header  |  1990-08-16  |  1KB  |  49 lines

  1. /*
  2.  * @(#)builtins.h    1.5  3/16/88
  3.  */
  4. #ifndef builtins_h
  5. #define builtins_h
  6.  
  7. #define NUMBUILTINS            24
  8. #define BUILTINOBJECTBASE         ((OID) 0xff000000)
  9. #define ATOFBUILTINOBJECTBASE         ((OID) 0xff000020)
  10. #define CTOFBUILTINOBJECTBASE        ((OID) 0xff000040)
  11. #define INSTATOFBUILTINOBJECTBASE     ((OID) 0xff000060)
  12. #define INSTCTOFBUILTINOBJECTBASE     ((OID) 0xff000080)
  13.  
  14. #define ABSTRACTTYPEINDEX 0
  15. #define ANYINDEX 1
  16. #define ARRAYINDEX 2
  17. #define BOOLEANINDEX 3
  18. #define CHARACTERINDEX 4
  19. #define CONDITIONINDEX 5
  20. #define INTEGERINDEX 6
  21. #define NILINDEX 7
  22. #define NODEINDEX 8
  23. #define SIGNATUREINDEX 9
  24. #define REALINDEX 10
  25. #define STRINGINDEX 11
  26. #define VECTORINDEX 12
  27. #define TIMEINDEX 13
  28. #define NODELISTELEMENTINDEX 14
  29. #define NODELISTINDEX 15
  30. #define INSTREAMINDEX 16
  31. #define OUTSTREAMINDEX 17
  32. #define IMMUTABLEVECTORINDEX 18
  33. #define BITCHUNKINDEX 19
  34. #define RISCINDEX 20
  35. #define HANDLERINDEX 21
  36. #define VECTOROFCHARINDEX 22
  37. #define BUFFERINDEX 23
  38.  
  39. extern struct sNode *findInstCode();
  40. extern void loadBuiltins();
  41. extern int loadedDummyBuiltins;
  42. extern char *builtinTypeNames[];
  43.  
  44. typedef enum { B_IT, B_ITSAT, B_ITSCT, B_INSTAT, B_INSTCT } B_Tag;
  45. extern struct sNode *refToBuiltin(), *refToBuiltinFromToken();
  46. #define OIDOfBuiltin(tag, index) \
  47.     ((OID) 0xff000000 + ((unsigned) tag * 0x20) + (unsigned) index)
  48. #endif
  49.